In recent years, parallel distributed processing is performed in which a plurality of servers, which are connected through a network, performs programs in parallel.
When such parallel distributed processing is performed, since it is complicated for a programmer to directly describe communication processes, a Remote Procedure Call (RPC) is often used. The RPC implements a way of calling a procedure on a separate server connected through a network in the same manner of writing as a general procedure call.
Due to this, the programmer uses descriptions similarly to procedure calls rather than directly describing complicated communication processes in order to perform a parallel distributed processing by making another server connected through a network perform a process, or data transfer.
An example of a RPC system is disclosed in Non-Patent Document 1 below. In this RPC system, a procedure interface that is called with a RPC is described in a certain special language.
This language is sometimes called an Interface Description Language (IDL). Here, the content described in the IDL includes the name of a called function, the number and the type of arguments, the type of a return value, and the like.
When the IDL is compiled by an IDL compiler, programs described in the C-language called client stub and server stub are generated. In a client stub and a server stub, processes such as communication for performing a procedure call on a separate server connected through a network are described. That is, a definition of a function described in an IDL is described as a server-side program, and the function is linked to a server stub.
Then, this program is executed in advance on the server side. A program that calls a function described in an IDL is described as a client-side program, and the function is linked to a client stub. When the client-side program is executed, the program is connected to a server side at a point in which the program calls a function described in an IDL, and the function is executed at the server side.
Another example of an RPC system of the related art is disclosed in Patent Document 1 below. This RPC system of the related art uses Java (registered trademark) languages and programs corresponding to a client stub and a server stub are automatically created by scanning compiled bytecodes. Due to this, a description of an IDL is not necessary.
Moreover, Patent Document 2 below discloses a technique related to an RPC of a client server, in which various libraries are stored in advance in library memory of the server, information on a function name argument is sent from the client to the server, and the server reads a library program corresponding to the information from the memory, executes the library program, and returns the execution result to the client.